package uos

import (
	"gitee.com/micro-plat/uos/uos/const/sql"
	"gitee.com/micro-plat/uos/uos/operate"
	"github.com/micro-plat/hydra"
)

func init() {
	//加载数据表结构创建sql
	hydra.OnReadying(func() error {
		sql.Install()
		return nil
	})
}

/*Create 创建操作日志, 提供给后台管理系统使用(集成过sso的系统))
 *Context 上下文
 *userID 用户id
 *userName 用户名
 *logModule 操作模块 如: 用户管理
 *content 日志内容
 *isContainBody是否包含body, 默认为true, false时就不会记录request body数据
 */
func Create(ctx hydra.IContext, userID int64, userName, logModule, content string, opts ...operate.Option) error {
	return operate.Create(ctx, userID, userName, logModule, content, opts...)
}

/*CreateByUserName 创建操作日志 提供给非后台系统的系统使用
 *Context 上下文
 *userName 用户名
 *logModule 操作模块 如: 用户管理
 *content 日志内容
 *isContainBody是否包含body, 默认为true, false时就不会记录request body数据
 */
func CreateByUserName(ctx hydra.IContext, userName, logModule, content string, opts ...operate.Option) error {
	return operate.CreateByUserName(ctx, userName, logModule, content, opts...)
}
